package org.mfoyou.agent.common.inf;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.mfoyou.agent.common.dao.domain.HuawuAddress;
import org.mfoyou.agent.common.dao.domain.HuawuAgentInfo;
import org.mfoyou.agent.common.dao.domain.HuawuAgentStoreSetting;
import org.mfoyou.agent.common.dao.domain.HuawuAgentWxInfo;
import org.mfoyou.agent.common.dao.domain.HuawuAlipay;
import org.mfoyou.agent.common.dao.domain.HuawuEvaluate;
import org.mfoyou.agent.common.dao.domain.HuawuEvaluateTag;
import org.mfoyou.agent.common.dao.domain.HuawuFile;
import org.mfoyou.agent.common.dao.domain.HuawuGoodsEvaluate;
import org.mfoyou.agent.common.dao.domain.HuawuGoodsEvaluateTag;
import org.mfoyou.agent.common.dao.domain.HuawuNotice;
import org.mfoyou.agent.common.dao.domain.HuawuServiceTag;
import org.mfoyou.agent.common.dao.domain.HuawuWxPushModel;
import org.mfoyou.agent.common.dao.domain.MfoyouThirdPartAudit;
import org.mfoyou.agent.common.dao.mfoyou.domain.MfoyouGdCity;
import org.mfoyou.agent.common.dao.mfoyou.domain.MfoyouUserStatistics;
import org.mfoyou.agent.utils.common.ArrayListObject;

public interface ICommon {

	int addMfoyouAddress(HuawuAddress mfoyouAddress);

	Boolean modifyMfoyouAddress(HuawuAddress mfoyouAddress);

	List<HuawuAddress> getUserMfoyouAddress(Integer userId, Integer addressId);

	HuawuAgentWxInfo getXcxInfoByAppid(String appid);

	HuawuAgentWxInfo getHuawuWxInfo(Integer agentId, Integer appid);

	int insertFile(HuawuFile fi);

	HuawuFile getFileInfo(int fileId);

	List<HuawuFile> getFileInfos(List<Integer> fileIds);

	List<HuawuServiceTag> getServiceTags(Integer tageType);

	List<MfoyouGdCity> cityListEx(String province);

	List<MfoyouGdCity> allCityList();

	List<MfoyouGdCity> searchCity(String key);

	List<MfoyouGdCity> countyList(Integer cityId);

	List<MfoyouGdCity> cityList(Integer provinceId);

	List<MfoyouGdCity> provinceList();

	List<MfoyouGdCity> getAll();

	List<MfoyouGdCity> countyListEx(String city);

	List<HuawuFile> getFiles(Integer currentUserId, Integer model);

	int getCountVisitUser(String start, String end, Integer storeid);

	int[] getUserStatiscs(Integer storeId, Date startTime, Date endTime);

	MfoyouUserStatistics getMfoyouUserStatic(MfoyouUserStatistics mfoyouUserStatistics);

	int insertUserStatistics(MfoyouUserStatistics mfoyouUserStatistics);

	List<MfoyouThirdPartAudit> getThirdPartAudit(MfoyouThirdPartAudit mfoyouThirdPartAudit);

	int addHuawuAgentInfo(HuawuAgentInfo huawuAgentInfo);

	int addAgentStoreSetting(HuawuAgentStoreSetting huawuAgentStoreSetting);

	int addWxInfos(List<HuawuAgentWxInfo> list);

	int addAlipay(HuawuAlipay huawuAlipay);

	int addPushModel(List<HuawuWxPushModel> pushlist);

	int modifyAgentInfo(HuawuAgentInfo huawuAgentInfo);

	ArrayListObject<Map<String, Object>> getAgentList(Integer pageId, Integer pageSize, String key);

	Map<String,Object> getAgentByAgnetId(Integer agentId);

	Map<String,Object> getAgentWxInfoByAgnetId(Integer agentId);

	int updateHuawuAgentWxInfoByAgentId(HuawuAgentWxInfo huawuAgentWxInfo, Integer agentId);

	List<HuawuEvaluateTag> getTagList(Integer score);

	int addHuawuEvaluate(HuawuEvaluate huawuEvaluate);

	List<HuawuGoodsEvaluateTag> getgoodsTagList(Integer score);

	int addHuawuGoodsEvaluate(HuawuGoodsEvaluate huawuEvaluate);

	int increaseAppid(String appid, Integer modelId, String version);

	HashMap<String, Object> getModelId(String xcxId, Integer appType);

	String getAddressByappid(Integer appid);

	List<Map<String, Object>> getWxinfo(Integer agentId);

	ArrayListObject<?> getWxinfoByXcxType(Integer apptype, Integer pageId, Integer pageSize, Integer userId, String key);

	int addHuawuNotice(HuawuNotice huawuNotice);

	int updateNotice(HuawuNotice huawuNotice);

	ArrayListObject<?> getNotice(Integer pageId, Integer pageSize, int type);

	int deleteNotice(Integer id);

	HuawuNotice getSingleNotice(Integer id);

	int deleteEvaluate(Integer evaluateId, Integer agentId);

	int deleteGoodsEvaluate(Integer evaluateId, Integer agentId);

	int updateThirdPart(String appid, Integer state);


}
